package com.shop2cn.iapi.sqdistributor.parameter.request.pojo;

import java.math.BigDecimal;

import com.ymttest.utils.TestDataManager;

public class DistributorLevelCommissionConfigVo {
	
	private Integer distributionConfigId;
	
	private Integer distributorLevelIndex;
	
	private String distributorLevelLabel;
	
	private BigDecimal layer1Rate;
	
	private BigDecimal layer2Rate;
	
	private BigDecimal layer3Rate;

	public Integer getDistributionConfigId() {
		return distributionConfigId;
	}

	public void setDistributionConfigId(Integer distributionConfigId) {
		this.distributionConfigId = distributionConfigId;
	}

	public Integer getDistributorLevelIndex() {
		return distributorLevelIndex;
	}

	public void setDistributorLevelIndex(Integer distributorLevelIndex) {
		this.distributorLevelIndex = distributorLevelIndex;
	}

	public String getDistributorLevelLabel() {
		return distributorLevelLabel;
	}

	public void setDistributorLevelLabel(String distributorLevelLabel) {
		this.distributorLevelLabel = distributorLevelLabel;
	}

	public BigDecimal getLayer1Rate() {
		return layer1Rate;
	}

	public void setLayer1Rate(BigDecimal layer1Rate) {
		this.layer1Rate = layer1Rate;
	}

	public BigDecimal getLayer2Rate() {
		return layer2Rate;
	}

	public void setLayer2Rate(BigDecimal layer2Rate) {
		this.layer2Rate = layer2Rate;
	}

	public BigDecimal getLayer3Rate() {
		return layer3Rate;
	}

	public void setLayer3Rate(BigDecimal layer3Rate) {
		this.layer3Rate = layer3Rate;
	}
	
	public static DistributorLevelCommissionConfigVo createStandardDistributorLevelCommissionConfig() {
		
		DistributorLevelCommissionConfigVo distributorLevelCommissionConfigVo = new DistributorLevelCommissionConfigVo();
		
		distributorLevelCommissionConfigVo.setDistributionConfigId(1);
		distributorLevelCommissionConfigVo.setDistributorLevelIndex(0);
		distributorLevelCommissionConfigVo.setDistributorLevelLabel(TestDataManager.randomStr(5));
		distributorLevelCommissionConfigVo.setLayer1Rate(new BigDecimal("0.01"));
		distributorLevelCommissionConfigVo.setLayer2Rate(new BigDecimal("0.01"));
		distributorLevelCommissionConfigVo.setLayer3Rate(new BigDecimal("0.01"));
		
		return distributorLevelCommissionConfigVo;
	}
	
	public DistributorLevelCommissionConfigVo withDistributionConfigId(Integer distributionConfigId) {
		
		this.setDistributionConfigId(distributionConfigId);
		
		return this;
	}
	
	public DistributorLevelCommissionConfigVo withDistributorLevelIndex(Integer distributorLevelIndex) {
		
		this.setDistributorLevelIndex(distributorLevelIndex);
		
		return this;
	}
	
	public DistributorLevelCommissionConfigVo withDistributorLevelLabel(String distributorLevelLabel) {
		
		this.setDistributorLevelLabel(distributorLevelLabel);
		
		return this;
	}
	
	public DistributorLevelCommissionConfigVo withLayer1Rate(BigDecimal layer1Rate) {
		
		this.setLayer1Rate(layer1Rate);
		
		return this;
	}
	
	public DistributorLevelCommissionConfigVo withLayer2Rate(BigDecimal layer2Rate) {
		
		this.setLayer2Rate(layer2Rate);
		
		return this;
	}
	
	public DistributorLevelCommissionConfigVo withLayer3Rate(BigDecimal layer3Rate) {
		
		this.setLayer3Rate(layer3Rate);
		
		return this;
	}
}
